package com.zg.common.core.dao.scf.entity;

import com.zg.common.core.dao.BaseEntity;
import com.zg.common.core.dao.QueryCondition;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * DESCRIPTION
 *
 * @author zhanfeng.liang
 * @since 2025-07-15
 */
@Data
@NoArgsConstructor
public class AccAccount extends BaseEntity {

    /**
     * 企业名称，对应表中 COMPANY_NAME 字段，类型 VARCHAR2(255)
     */
    private String companyName;

    /**
     * 企业ID，对应表中 COMPANY_ID 字段，类型 NUMBER
     */
    @QueryCondition
    private Long companyId;

    /**
     * 银行ID，对应表中 BANK_ID 字段，类型 NUMBER
     */
    @QueryCondition
    private Long bankId;

    /**
     * 银行账号，对应表中 BANK_ACCOUNT 字段，类型 VARCHAR2(255)
     */
    @QueryCondition(filed = "BANK_ACCOUNT")
    private String bankAccount;

    /**
     * 账户类型，对应表中 ACCOUNT_TYPE 字段，类型 VARCHAR2(100)
     */
    @QueryCondition
    private String accountType;

    /**
     * 余额，对应表中 BALANCE 字段，类型 NUMBER(34,4)，使用 BigDecimal 处理高精度小数
     */
    private BigDecimal balance;

    /**
     * 账户
     */
    private String  state;

    /**
     * 0是默认账户
     */
    @QueryCondition
    private Integer sort;

//    @TableField(exist = false)
//    @QueryCondition(type = ConditionType.IN, filed = "state")
//    private List<String> states;

//    public Integer getSort() {
//        return sort;
//    }
//
//    public void setSort(Integer sort) {
//        this.sort = sort;
//    }
//
//    public String getState() {
//        return state;
//    }
//
//    public void setState(String state) {
//        this.state = state;
//    }
//
//    public BigDecimal getBalance() {
//        return balance;
//    }
//
//    public void setBalance(BigDecimal balance) {
//        this.balance = balance;
//    }
//
//    public String getAccountType() {
//        return accountType;
//    }
//
//    public void setAccountType(String accountType) {
//        this.accountType = accountType;
//    }
//
//    public String getBankAccount() {
//        return bankAccount;
//    }
//
//    public void setBankAccount(String bankAccount) {
//        this.bankAccount = bankAccount;
//    }
//
//    public Long getBankId() {
//        return bankId;
//    }
//
//    public void setBankId(Long bankId) {
//        this.bankId = bankId;
//    }
//
//    public Long getCompanyId() {
//        return companyId;
//    }
//
//    public void setCompanyId(Long companyId) {
//        this.companyId = companyId;
//    }
//
//    public String getCompanyName() {
//        return companyName;
//    }
//
//    public void setCompanyName(String companyName) {
//        this.companyName = companyName;
//    }
}
